path[sizeof (path) - 1] = '\0';
#ifndef _WIN32
if (getenv ("XDG_CACHE_HOME"))
- sprintf (path, "%s/babl/babl-fishes", getenv("XDG_CACHE_HOME"));
+ snprintf (path, sizeof (path), "%s/babl/babl-fishes", getenv("XDG_CACHE_HOME"));
else if (getenv ("HOME"))
- sprintf (path, "%s/.cache/babl/babl-fishes", getenv("HOME"));
+ snprintf (path, sizeof (path), "%s/.cache/babl/babl-fishes", getenv("HOME"));
#else
{
char win32path[4096];
if (SHGetFolderPathA (NULL, CSIDL_LOCAL_APPDATA, NULL, SHGFP_TYPE_CURRENT, win32path) == S_OK)
- sprintf (path, "%s\\%s\\babl-fishes.txt", win32path, BABL_LIBRARY);
+ snprintf (path, sizeof (path), "%s\\%s\\babl-fishes.txt", win32path, BABL_LIBRARY);
else if (getenv ("TEMP"))
- sprintf (path, "%s\\babl-fishes.txt", getenv("TEMP"));
+ snprintf (path, sizeof (path), "%s\\babl-fishes.txt", getenv("TEMP"));
}
#endif
{
static char buf[2048];
if (strchr (BABL_GIT_VERSION, ' ')) // we must be building from tarball
- sprintf (buf, "#%i.%i.%i BABL_PATH_LENGTH=%d BABL_TOLERANCE=%f",
+ snprintf (buf, sizeof (buf),
+ "#%i.%i.%i BABL_PATH_LENGTH=%d BABL_TOLERANCE=%f",
BABL_MAJOR_VERSION, BABL_MINOR_VERSION, BABL_MICRO_VERSION,
_babl_max_path_len (), _babl_legal_error ());
else
- sprintf (buf, "#%s BABL_PATH_LENGTH=%d BABL_TOLERANCE=%f",
- BABL_GIT_VERSION,
- _babl_max_path_len (), _babl_legal_error ());
+ snprintf (buf, sizeof (buf), "#%s BABL_PATH_LENGTH=%d BABL_TOLERANCE=%f",
+ BABL_GIT_VERSION, _babl_max_path_len (), _babl_legal_error ());
return buf;
}
char *tmpp = calloc(8000,1);
FILE *dbfile;
- sprintf (tmpp, "%s~", fish_cache_path ());
+ snprintf (tmpp, 8000, "%s~", fish_cache_path ());
dbfile = fopen (tmpp, "w");
if (!dbfile)
return;
{
if (babl_extender ())
{
- snprintf (buf, 512 - 1, "%s %i: %s%s to %s",
+ snprintf (buf, sizeof (buf), "%s %i: %s%s to %s",
BABL (babl_extender ())->instance.name,
collisions,
type == BABL_CONVERSION_LINEAR ? "" :
type == BABL_CONVERSION_PLANAR ? "planar " : "Eeeek! ",
source->instance.name,
destination->instance.name);
- buf[511] = '\0';
}
else
{
- snprintf (buf, 512 - 1, "%s %s to %s %i",
+ snprintf (buf, sizeof (buf), "%s %s to %s %i",
type == BABL_CONVERSION_LINEAR ? "" :
type == BABL_CONVERSION_PLANE ? "plane " :
type == BABL_CONVERSION_PLANAR ? "planar " : "Eeeek! ",
source->instance.name,
destination->instance.name,
collisions);
- buf[511] = '\0';
}
return buf;
}
{
Babl *ret;
char new_name[256];
- sprintf (new_name, "%s-%s", babl_get_name ((void*)format),
- babl_get_name ((void*)space));
+ snprintf (new_name, sizeof (new_name), "%s-%s", babl_get_name ((void*)format),
+ babl_get_name ((void*)space));
ret = babl_db_find (babl_format_db(), new_name);
if (ret)
return ret;
{
char buf[512] = "";
char *p = &buf[0];
+ ssize_t left;
int i;
int same_types = 1;
const BablType**t = type;
BablComponent **c1 = component;
BablComponent **c2 = model->component;
-
- sprintf (p, "%s ", model->instance.name);
+ left = 512;
+ snprintf (p, left, "%s ", model->instance.name);
p += strlen (model->instance.name) + 1;
+ left -= strlen (model->instance.name) + 1;
+ babl_assert (left >= 0);
i = components;
while (i--)
if (same_types)
{
- sprintf (p, "%s", first_type->instance.name);
+ snprintf (p, left, "%s", first_type->instance.name);
return babl_strdup (buf);
}
while (i--)
{
- sprintf (p, "(%s as %s) ",
+ snprintf (p, left, "(%s as %s) ",
(*component)->instance.name,
(*type)->instance.name);
p += strlen ((*component)->instance.name) +
strlen ((*type)->instance.name) + strlen ("( as ) ");
+ left -= strlen ((*component)->instance.name) +
+ strlen ((*type)->instance.name) + strlen ("( as ) ");
+ babl_assert (left >= 0);
component++;
type++;
}
int components)
{
char buf[512];
- sprintf (buf, "%s[%i] ", type->instance.name, components);
+ snprintf (buf, sizeof (buf), "%s[%i] ", type->instance.name, components);
return babl_strdup (buf);
}
{
char tag[5];
int val = icc_read (u32, 64);
- sprintf (tag, "%i", val);
+ snprintf (tag, sizeof (tag), "%i", val);
return strdup (tag);
} else if (!strcmp (key, "tags"))
{
{
char buf[512];
- sprintf (buf, "echo bt>/tmp/babl.gdb;"
+ snprintf (buf, sizeof (buf), "echo bt>/tmp/babl.gdb;"
"gdb -q --batch -x /tmp/babl.gdb --pid=%i | grep 'in ''babl_die' -A40", getpid ());
return system (buf);
}
{
static char buf[128];
- sprintf (buf, "mallocs:%i callocs:%i strdups:%i dups:%i allocs:%i frees:%i reallocs:%i\t|",
+ snprintf (buf, sizeof (buf), "mallocs:%i callocs:%i strdups:%i dups:%i allocs:%i frees:%i reallocs:%i\t|",
mallocs, callocs, strdups, dups, mallocs + callocs + strdups + dups, frees, reallocs);
return buf;
}
if (!name)
{
static int cnt = 0;
- sprintf (cname, "_babl-int-%i", cnt++);
+ snprintf (cname, sizeof (cname), "_babl-int-%i", cnt++);
name = cname;
}
else
space_db[i]=space;
space_db[i].instance.name = space_db[i].name;
if (name)
- sprintf (space_db[i].name, "%s", name);
+ snprintf (space_db[i].name, sizeof (space_db[i].name), "%s", name);
else
- sprintf (space_db[i].name, "space-%.4f,%.4f_%.4f,%.4f_%.4f_%.4f,%.4f_%.4f,%.4f_%s,%s,%s",
+ snprintf (space_db[i].name, sizeof (space_db[i].name), "space-%.4f,%.4f_%.4f,%.4f_%.4f_%.4f,%.4f_%.4f,%.4f_%s,%s,%s",
rx, gx, bx,
ry, gy, by,
rz, gz, bz,
space_db[i]=space;
space_db[i].instance.name = space_db[i].name;
if (name)
- sprintf (space_db[i].name, "%s", name);
+ snprintf (space_db[i].name, sizeof (space_db[i].name), "%s", name);
else
/* XXX: this can get longer than 256bytes ! */
- sprintf (space_db[i].name, "space-%.4f,%.4f_%.4f,%.4f_%.4f,%.4f_%.4f,%.4f_%s,%s,%s",
+ snprintf (space_db[i].name, sizeof (space_db[i].name),
+ "space-%.4f,%.4f_%.4f,%.4f_%.4f,%.4f_%.4f,%.4f_%s,%s,%s",
wx,wy,rx,ry,bx,by,gx,gy,babl_get_name (space.trc[0]),
babl_get_name(space.trc[1]), babl_get_name(space.trc[2]));
trc_db[i]=trc;
trc_db[i].instance.name = trc_db[i].name;
if (name)
- sprintf (trc_db[i].name, "%s", name);
+ snprintf (trc_db[i].name, sizeof (trc_db[i].name), "%s", name);
else if (n_lut)
- sprintf (trc_db[i].name, "lut-trc");
+ snprintf (trc_db[i].name, sizeof (trc_db[i].name), "lut-trc");
else
- sprintf (trc_db[i].name, "trc-%i-%f", type, gamma);
+ snprintf (trc_db[i].name, sizeof (trc_db[i].name), "trc-%i-%f", type, gamma);
if (n_lut)
{
fabs (c - (-3417)) < 0.01)
return babl_trc ("sRGB");
- sprintf (name, "%.6f %.6f %.4f %.4f %.4f", g, a, b, c, d);
+ snprintf (name, sizeof (name), "%.6f %.6f %.4f %.4f %.4f", g, a, b, c, d);
for (i = 0; name[i]; i++)
if (name[i] == ',') name[i] = '.';
while (name[strlen(name)-1]=='0')
if (fabs (gamma - 1.0) < 0.01)
return babl_trc_new ("linear", BABL_TRC_LINEAR, 1.0, 0, NULL);
- sprintf (name, "%.6f", gamma);
+ snprintf (name, sizeof (name), "%.6f", gamma);
for (i = 0; name[i]; i++)
if (name[i] == ',') name[i] = '.';
while (name[strlen(name)-1]=='0')